package com.computer.spring.framework.aop.aspect;

import java.lang.reflect.Method;

/**
 * @Description 回调连接点，通过它可以获得被代理的业务方法的所有信息
 * @Author MagicIce
 * @Date 2020/11/22 14:19
 */
public interface BYJoinPoint {

    /** 业务防范本身 */
    Method getMethod();

    /** 该方法的实参列表 */
    Object[] getArguments();

    /** 该方法所属的实例对象 */
    Object getThis();

    /** 在 JoinPoint 中添加自定义属性 */
    void setUserAttribute(String key, Object value);

    /** 从已添加的自定义属性中获取一个属性值 */
    Object getUserAttribute(String key);

}
